﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using GameSDK.Board;
using GameSDK.Player;

namespace GameSDK.Events
{
    public class MoveEventArgs : EventArgs
    {
        #region property
        /// <summary>
        /// Board associated within the move
        /// </summary>
        private StdBoard _board;
        /// <summary>
        /// Player associated within the move
        /// </summary>
        private StdPlayer _player;        
        /// <summary>
        /// Move 
        /// </summary>
        private StdMove _move;
	
        #endregion property

        #region Constructor
        /// <summary>
        /// Default Constructor
        /// </summary>
        /// <param name="_board">Board</param>
        /// <param name="_player">Player</param>
        /// <param name="_move">Move</param>
        public MoveEventArgs(StdBoard board, StdPlayer player, StdMove move)
        {
            _board = board;
            _player = player;
            _move = move;
        }
        
        #endregion

        #region Methods
        /// <summary>
        /// To get the Board
        /// </summary>
        /// <returns>Board</returns>
        public StdBoard Board()
        {
            return _board;
        }
        /// <summary>
        /// To get the Player
        /// </summary>
        /// <returns>player</returns>
        public StdPlayer Player()
        {
            return _player;
        }
        /// <summary>
        /// To get the Move
        /// </summary>
        /// <returns>Move</returns>
        public StdMove Move()
        {
            return _move;
        }

        #endregion
    }
}
